package com.tanhua.server.controller;

import com.tanhua.model.db.UserInfo;
import com.tanhua.server.interceptor.UserHolder;
import com.tanhua.server.serivce.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 完善用户资料
     *   POST   /loginReginfo
     *   请求参数：
     *     Body  UserInfo对象
     *   请求头：
     *     Authorization ：就是token字符串（包含了id和手机号）
     *   返回值：
     */
    @PostMapping("/loginReginfo")
    public ResponseEntity loginReginfo(@RequestBody UserInfo userInfo) {
        //1、解析token，获取用户的id
        //2、将用户id设置到userInfo中
        userInfo.setId(UserHolder.getUserId());
        //3、调用service完成业务逻辑
        userService.saveUserInfo(userInfo);
        return ResponseEntity.ok(null);
    }

    /**
     * 设置用户头像
     *   POST    /loginReginfo/head
     *   请求参数：
     *     文件：headPhoto
     *   请求头：
     *      Authorization ：就是token字符串（包含了id和手机号）
     */
    @PostMapping("/loginReginfo/head")
    public ResponseEntity head(MultipartFile headPhoto) throws IOException {
        //调用service更新UserInfo
        userService.head(UserHolder.getUserId(),headPhoto);
        return ResponseEntity.ok(null);
    }
}
